1. Field of the Invention
This invention relates to a method and related apparatus for a graphical user interface, and in particular, it relates to storing and displaying historical values of a setting panel for an application program and restoring past setting values.
2. Description of Related Art
In many application programs, dialog windows (also referred to as panels, boxes, screens, panes, etc.) are used for interacting with users and allowing users to input various setting values for the programs. Examples include properties setting in a printer driver or other driver program, options or preference setting in a web browser or email program, format settings in a content processing program that creates and manipulates contents such as text and non-text objects, etc. While these settings displays may be referred to by different names in different programs (they are referred to as setting panels in this disclosure), they share many essential common features, as illustrated in the example of a properties setting panel for a printer driver shown in FIG. 1A and the example of a paragraph format setting panel shown in FIG. 1B. The setting panel is a discrete area of display with defined boundaries and structured display contents such as various fields, check boxes, buttons and other input means at designed locations for interacting with a user. The input means allows the user to input various setting values for the application program. The setting values are displayed in the setting panel, and saved by the program, e.g. when the user clicks an “OK” or “Save” button of the setting panel. These saved values are used to control aspects of the program (printer driver in the example of FIG. 1A and word processing program in the example of FIG. 1B). In conventional programs, each time the user wishes to change the settings, the same procedure is followed; if the user wishes to change the settings back to some previous values, the user brings up the settings display and manually changes the values back to the previous values. (In the example of formatting, while some word processing program allows the user to undo a formatting change, it is not done by using the setting panel; further, if the user has typed in text after the formatting change, the user must undo the typing before undoing the formatting change, which is inconvenient.)
In a graphical user interface, presenting multiple display areas (e.g. windows) or multiple versions of a display area in a stacked manner is known. For example, in the backup program described in U.S. Pat. No. 8,166,415 (see FIGS. 7, 8 and 9-14 thereof), multiple snapshots of a window at different times are saved and then presented in a stack view. The user can navigate to one of the snapshot in the stack to view the backup of a particular day, and can initiated a restoration of the current view according to at least a portion of an earlier version. However, the displayed contents of snapshots (i.e. the icons in the snapshots) do not appear to be editable.